package com.jiantong.work.service;

import com.jiantong.work.dto.BeastsBreedStockMessageDto;
import com.jiantong.work.model.BeastsBreedStockMessage;
import io.terminus.common.model.Response;

import java.util.Map;

/**
 * 数据分析 - 存栏合计统计
 *
 * Created by mz03 on 2017/4/15.
 */
public interface BeastsBreedStockMessageReadService {

    /**
     * 根据id
     * @param id 主键id
     * @return BeastsBreedStockMessage 对象
     */
    Response<BeastsBreedStockMessage> findById(Long id);

    /**
     * 根据类型和指定天数 查找最新存栏合计总和
     *
     * @param map 包括类型和指定查找的天数
     * @return List<BeastsBreedStockMessage> 对象
     */
    Response<Map<Integer, Object>> findByType(Map<String,Object> map);
    Response<Map<Integer, Object>> findByType1(Map<String,Object> map);

    /**
     * 根据类型查询最近7天中 每天这种的合计信息中各个养殖场的存栏总和
     * @param type type 养殖类型
     * @return Map<String,Long> 指定类型7天中每天的存栏合计
     *
     * select sum(stock_quantity) from djt_beasts_breed_stock_message
     * where breed_type = 1 group by date_format(change_date,'%y-%m-%d')
     * order by change_date desc
     * limit 7;
     */
    Response<Map<String,Long>> findByType7Day(Integer type);

    /**
     * 一次查找最新7天中的每天的 所有种类(type)的最新存栏合计总和
     *
     */
    Response<Map<String,BeastsBreedStockMessageDto>> findByType7Day();
}
